Ext.define('MelhorCompra.view.MelhorProduto', {
    extend: 'Ext.form.Panel',
    xtype: 'melhorproduto',

    config: {
        title: 'Form',
        cls: 'form',

        items: [{
            xtype: 'fieldset',
            title: 'Produto A',
            
            items: [{
                id: 'precoA',
                label: 'Preço',
                xtype: 'textfield',
                component: {type: 'tel'}
            }, {
                id: 'quantA',
                label: 'Qtde',
                xtype: 'textfield',
                component: {type: 'tel'}
            }]
        },{
            xtype: 'fieldset',
            title: 'Produto B',
            
            items: [{
                id: 'precoB',
                label: 'Preço',
                xtype: 'textfield',
                component: {type: 'tel'}
            }, {
                id: 'quantB',
                label: 'Qtde',
                xtype: 'textfield',
                component: {type: 'tel'}
            }]
        },{
            xtype: 'toolbar',
            docked: 'top',
            layout: {pack: 'center'},
            defaults: {
                iconMask: true
            },
            items: [
                {
                    xtype: 'button',
                    iconCls: 'more',
                    iconMask: true,
                    action: 'exibirMenuLateral'
                },{
                    xtype: 'spacer'
                },{
                    xtype: 'button',
                    text: 'Limpar',
                    iconCls: 'refresh',
                    handler: function() {
                        this.up('formpanel').reset();
                    }
                },
                {
                    xtype: 'button',
                    text: 'Calcular',
                    iconCls: 'compose',
                    ui: 'confirm',
                    handler: function() {
                        calcular();
                    }
                }
            ]
        },{
            xtype: 'toolbar',
            docked: 'bottom',
            layout: {pack: 'center'},
            defaults: {
                iconMask: true
            },
            items: [
                {
                    xtype: 'button',
                    iconCls: 'more',
                    iconMask: true,
                    action: 'exibirMenuLateral'
                },{
                    xtype: 'spacer'
                },{
                    xtype: 'button',
                    text: 'Limpar',
                    iconCls: 'refresh',
                    handler: function() {
                        this.up('formpanel').reset();
                    }
                },
                {
                    xtype: 'button',
                    text: 'Calcular',
                    iconCls: 'compose',
                    ui: 'confirm',
                    handler: function() {
                        calcular();
                    }
                }
            ]
        }],

        listeners: {
            show: function(form, opts){
                Ext.Function.defer(function() {
                   form.down('#precoA').focus();
                }, 200);
            }
        }
    }
});


function calcular() {
    var erros = new Array();
    var controller = MelhorCompra.app.getController('MainController');
    var vlrPrecoA = controller.getNumFromField(
        'precoA',
        erros,
        'Preencha corretamente o campo Preço do Produto A.');
    var vlrQuantA = controller.getNumFromField(
        'quantA',
        erros,
        'Preencha corretamente o campo Qtde do Produto A.');
    var vlrPrecoB = controller.getNumFromField(
        'precoB',
        erros,
        'Preencha corretamente o campo Preço do Produto B.');
    var vlrQuantB = controller.getNumFromField(
        'quantB',
        erros,
        'Preencha corretamente o campo Qtde do Produto B.');

    if(erros.length == 0) {
        var vlrUnitA = vlrPrecoA / vlrQuantA;
        var vlrUnitB = vlrPrecoB / vlrQuantB;

        if(vlrUnitB > vlrUnitA) {
            var msg = 'Produto A, é ' + getVlrPerc(vlrUnitB, vlrUnitA) + '% mais barato.';
            Ext.Msg.alert('MobFacil.com', msg);
        } else if(vlrUnitA > vlrUnitB) {
            var msg = 'Produto B, é ' + getVlrPerc(vlrUnitA, vlrUnitB) + '% mais barato.';
            Ext.Msg.alert('MobFacil.com', msg);
        } else {
            Ext.Msg.alert('MobFacil.com', 'Valores equivalentes, decida pela quantidade.');
        }
    } else {
        controller.exibirMensagemErro(erros);
    }
}


